Termination Checking in the Presence of Nested Inductive and Coinductive Types

نویسندگان

  • Thorsten Altenkirch
  • Nils Anders Danielsson
چکیده

In the dependently typed functional programming language Agda one can easily mix induction and coinduction. The implementation of the termination/productivity checker is based on a simple extension of a termination checker for a language with inductive types. However, this simplicity comes at a price: only types of the form X .Y .F X Y can be handled directly, not types of the form Y .X .F X Y . We explain the implementation of the termination checker and the ensuing problem.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Termination and Productivity Checking with Continuous Types

We analyze the interpretation of inductive and coinductive types as sets of strongly normalizing terms and isolate classes of types with certain continuity properties. Our result enables us to relax some side conditions on the shape of recursive definitions which are accepted by the type-based termination calculus of Barthe, Frade, Giménez, Pinto and Uustalu, thus enlarging its expressivity.

متن کامل

Monotone ( Co ) Inductive Types and Fixed - Point Types

We study ve extensions of the polymorphically typed lambda-calculus (system F) by type constructs intended to model xed-points of monotone operators. Building on work by H. Geuvers concerning the relation between term rewrite systems for least pre-xed-points and greatest post-xed-points of positive type schemes (i. e., non-nested positive inductive and coinductive types) and so-called retract t...

متن کامل

Programming and Reasoning with Infinite Structures Using Copatterns and Sized Types

Inductive data such as lists and trees is modeled category-theoretically as algebra where construction is the primary concept and elimination is obtained by initiality. In a more practical setting, functions are programmed by pattern matching on inductive data. Dually, coinductive structures such as streams and processes are modeled as coalgebras where destruction (or transition) is primary and...

متن کامل

Constructing Strictly Positive Types

We introduce container functors as a representation of data types providing a new conceptual analysis of data structures and polymorphic functions. Our development exploits Type Theory as a convenient way to define constructions within locally cartesian closed categories. We show that container morphisms can be full and faithfully interpreted as polymorphic functions (i.e. natural transformatio...

متن کامل

Iteration and coiteration schemes for higher-order and nested datatypes

This article studies the implementation of inductive and coinductive constructors of higher kinds (higher-order nested datatypes) in typed term rewriting, with emphasis on the choice of the iteration and coiteration constructions to support as primitive. We propose and compare several well-behaved extensions of System Fω with some form of iteration and coiteration uniform in all kinds. In what ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010